package com.huawei;


import java.util.HashMap;
import java.util.Scanner;

public class HJ040 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        HashMap<String, Integer> map = new HashMap<>();

        for (int i = 0; i < input.length(); i++) {
            char letter = input.charAt(i);
            if((letter>='a' && letter<='z') || (letter>='A' && letter<='Z')){
                map.put("A",map.getOrDefault("A",0)+1);
            }else if(letter == ' '){
                map.put("B",map.getOrDefault("B",0)+1);
            }
            else if(letter >= '0' && letter <= '9'){
                map.put("C",map.getOrDefault("C",0)+1);
            }
            else {
                map.put("D",map.getOrDefault("D",0)+1);
            }
        }

        //用map有风险，比如BCD没有的话，最终自会打印A的个数，其他的没打0
//        Collection<Integer> values = map.values();
//        for (Integer value : values) {
//            System.out.println(value);
//        }
        System.out.println(map.getOrDefault("A", 0));
        System.out.println(map.getOrDefault("B", 0));
        System.out.println(map.getOrDefault("C", 0));
        System.out.println(map.getOrDefault("D", 0));
    }
}
